/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.notify.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.thinkgem.jeesite.common.persistence.DataEntity;
import org.hibernate.validator.constraints.Length;

import java.util.Date;

/**
 * 推送app管理Entity
 *
 * @author hf
 * @version 2018-12-17
 */
public class NotiApp extends DataEntity<NotiApp> {

    private static final long serialVersionUID = 1L;
    protected Date updateDate;    // 更新日期
    private String sysUserId;        // 系统用户id
    private String appName;        // 应用名称
    private String appIcon;        // 应用图标
    private String appKey;        // 应用钥匙
    private String appSecret;        // 应用密码
    private Long addConsumerNumber;        // 新增用户数
    private Long onlineConsumerNumber;        // 在线用户数
    private Long totalConsumerNumber;        // 总用户数
    private Date crateDate;        // 创建时间

    public NotiApp() {
        super();
    }

    public NotiApp(String id) {
        super(id);
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    @Length(min = 0, max = 64, message = "系统用户id长度必须介于 0 和 64 之间")
    public String getSysUserId() {
        return sysUserId;
    }

    public void setSysUserId(String sysUserId) {
        this.sysUserId = sysUserId;
    }

    @Length(min = 0, max = 100, message = "应用名称长度必须介于 0 和 100 之间")
    public String getAppName() {
        return appName;
    }

    public void setAppName(String appName) {
        this.appName = appName;
    }

    @Length(min = 0, max = 128, message = "应用图标长度必须介于 0 和 128 之间")
    public String getAppIcon() {
        return appIcon;
    }

    public void setAppIcon(String appIcon) {
        this.appIcon = appIcon;
    }

    @Length(min = 0, max = 128, message = "应用钥匙长度必须介于 0 和 128 之间")
    public String getAppKey() {
        return appKey;
    }

    public void setAppKey(String appKey) {
        this.appKey = appKey;
    }

    @Length(min = 0, max = 128, message = "应用密码长度必须介于 0 和 128 之间")
    public String getAppSecret() {
        return appSecret;
    }

    public void setAppSecret(String appSecret) {
        this.appSecret = appSecret;
    }

    public Long getAddConsumerNumber() {
        return addConsumerNumber;
    }

    public void setAddConsumerNumber(Long addConsumerNumber) {
        this.addConsumerNumber = addConsumerNumber;
    }

    public Long getOnlineConsumerNumber() {
        return onlineConsumerNumber;
    }

    public void setOnlineConsumerNumber(Long onlineConsumerNumber) {
        this.onlineConsumerNumber = onlineConsumerNumber;
    }

    public Long getTotalConsumerNumber() {
        return totalConsumerNumber;
    }

    public void setTotalConsumerNumber(Long totalConsumerNumber) {
        this.totalConsumerNumber = totalConsumerNumber;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date getCrateDate() {
        return crateDate;
    }

    public void setCrateDate(Date crateDate) {
        this.crateDate = crateDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }
}